<?php
// Тут мы определяем константу, а в подключаемом определяем
// наличие этой константы. Если в подключаемом скрипте такой константы
// не обнаружено - принудительно останавилваем работу скрипта.
define ('IN_SCRIPT', true);

// Загружаем файл globals.php. Файл включаем в себя константы пути, устанавливает права админа,
// если пользователь зашёл в режиме админа и делает другие интересные вещи :)
require_once 'global.php';

// Первоначально устанавилваем значение переменной как false
$scriptOnly = false;
// Проверяем значение переменной ajax. Если она определена и равна единице,
// то страница мы будет загружать в режиме скрипта (т.е. без шаблона, только код)
if (ifSetAndEquals($_GET['ajax'], 1)) {
    $scriptOnly = true;
}
// Проверяем значение переменной page. Если она определена и такой файл 
// с расширением php существует - продлжаем работу скрипта.
if (isset($_GET['page']) && file_exists(BASE_DIR . $_GET['page'] . '.php')) {
    // Если страница запрашивается не в режиме скрипта - загружаем "шапку" сайта
    if (! $scriptOnly) {
        require_once TPL_DIR . '/header.php';
    }
    // Далее загружаем саму страницу
    require_once BASE_DIR . $_GET['page'] . '.php';
    // Если страница запрашивается не в режиме скрипта - загружаем "подвал" сайта
    if (! $scriptOnly) {
        require_once TPL_DIR . '/footer.php';
    }
// Если файл, указаный в переменной page не существует - тогда пытаемся перенаправить
// пользователя на страницу main. Если же и страницы main не существует (возможно
// какая-либо ошибка распаковки), то воизбежание выполнения бесконечного цикла
// выводится сообщение об ошибке и скрипт завершает свою работу.
} else {
    if(file_exists(BASE_DIR . 'main.php')) {
        header('Location: index.php?page=main');
        exit();
    } else {
        // То самое сообщение ;]
        die('Фатальная ошибка. Файл <b>main.php</b> не найден. Переустановите скрипт.');
    }
}